﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace BasePlatformInterface
{

    public class UserInfo
    {
        /// <summary>
        /// 用户ID
        /// </summary>
        public Guid UserId { get; set; }
        /// <summary>
        /// 用户名
        /// </summary>
        public string UserName { get; set; }
        /// <summary>
        /// 姓名
        /// </summary>
        public string RealName { get; set; }
        /// <summary>
        /// 所属部门ID
        /// </summary>
        public Guid DepartmentID { get; set; }
        /// <summary>
        /// 所属机构ID
        /// </summary>
        public string OrgID { get; set; }

        /// <summary>
        /// EMail邮箱
        /// </summary>
        public string EMail { get; set; }

    }

    /// <summary>
    /// 应用信息
    /// </summary>
    public class AppInfo
    {
        /// <summary>
        /// 应用名称
        /// </summary>
        public string Name { get; set; }

        /// <summary>
        /// 应用的图标
        /// </summary>
        public string ImgUrl { get; set; }

        /// <summary>
        /// 应用对于的Url
        /// </summary>
        public string Url { get; set; }

        /// <summary>
        /// 应用描述
        /// </summary>
        public string Description { get; set; }

        /// <summary>
        /// 应用所属分类
        /// </summary>
        public int Cartgory { get; set; }

        /// <summary>
        /// 接入模式
        /// <remarks>
        /// 不同的接入模式会有不同的处理方式
        /// 1.内置模式(built-in)
        /// 2.外部模式
        /// </remarks>
        /// </summary>
        public int PluginMode { get; set; }

        /// <summary>
        /// 用户表主键
        /// </summary>
        public string UserPrimaryKeyType { get; set; }

        /// <summary>
        /// 是否需要基础平台推送用户信息
        /// </summary>
        public bool NeedServerPushUserInfo
        {
            get
            {
                throw new System.NotImplementedException();
            }
            set
            {
            }
        }
    }



    public class AppPlugin
    {

        #region IPlugin 成员
        /// <summary>
        /// 应用注册
        /// </summary>
        /// <param name="app">应用信息</param>
        /// <returns>返回结果，
        /// 0，成功
        /// 1，应用Url检测失败
        /// 2，所属分类错误
        /// 3，其他错误
        /// </returns>
        public int AppRegister(AppInfo app, int actionId)
        {
            throw new NotImplementedException();
        }

        #endregion
    }


}
